package cn.wolfcode.wolf2w.redis.service;

import cn.wolfcode.wolf2w.domain.UserFavor;
import cn.wolfcode.wolf2w.domain.UserInfo;
import cn.wolfcode.wolf2w.vo.StrategyStatisVo;

import java.util.List;

public interface IStatisVORedisService {
    StrategyStatisVo getStrategyStatisVoById(String sid);

    void viewNumIncrease(String sid);

    void replyNumIncrease(String sid);

    void setStrategyStatisVo(StrategyStatisVo vo);

    /**
     * 用户收藏攻略
     * @param sid
     * @param userInfo
     * @return true: 收藏成功   false: 取消收藏
     */
    boolean favorNumIncrease(String sid, UserInfo userInfo);

    /**
     * 根据用户id查询所有收藏的攻略, 根据当前攻略id判断是否被收藏
     * @param sid
     * @param uid
     * @return true: 已收藏   false: 还未收藏
     */
    List<String> isExistFavorStrategy(String sid, String uid);


    /**
     * 判断当前用户今日是否已经点赞该攻略
     * @param sid
     * @param userInfo
     * @return
     */
    boolean isThumbupToday(String sid, UserInfo userInfo);

    /**
     * 拿到所有旅游功率的统计数据的vo
     * @return
     */
    List<StrategyStatisVo> getAllStrategyStatisVo();


    /**
     * 拿到Redis缓存中的所有用户,并且携带用户收藏的攻略
     * @return
     */
    List<UserFavor> getAllRedisUserFavor();

}
